
#ifndef PERSON_H
#define PERSON_H

#include <iostream>
#include <string>

class Person {
private:
	int         id;
	std::string name;

public:
	Person();
	Person(int id, const std::string &name); // 带参数的构造函数
	Person(const Person &other);             // 拷贝构造函数
	~Person();                               // 析构函数

	// 成员函数
	void        SetId(int id);
	int         GetId() const;
	void        SetName(const std::string &name);
	std::string GetName();
	void        Print() const;

	// 重载运算符
	Person              &operator=(const Person &other);        // 赋值
	bool                 operator==(const Person &other) const; // 等于(如姓名相等则认为相等)
	friend std::ostream &operator<<(std::ostream &out, const Person &person);
};
#endif // PERSON_H
